package ualrcdg.shared.dto;

/**
 * Simple implementation of the "task" object. See CDG XML Specifications: Game Descriptor Files.
 */
public class Task
{
	private final String id;
	private final String name;
	private final String description;
	private final String preMediaScriptId;
	private final String ruleId;
	private final String postMediaScriptId;
	
	/**
	 * Primary constructor
	 *
	 * @param id the id of the Task object to be created
	 * @param name the name of the Task object to be created
	 * @param description the description of the Task object to be created
	 * @param preMediaScriptId the preMediaScriptId of the Task object to be created
	 * @param ruleId the ruleId of the Task object to be created
	 * @param postMediaScriptId the postMediaScriptId of the Task object to be created
	 */
	public Task( String id, String name, String description, String preMediaScriptId, String ruleId, String postMediaScriptId )
	{
		this.id = id;
		this.name = name;
		this.description = description;
		this.preMediaScriptId = preMediaScriptId;
		this.ruleId = ruleId;
		this.postMediaScriptId = postMediaScriptId;
		
		System.out.println( "Parsed: " + this.toString( ) );
	}

	/*
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString( )
	{
		return "Task [id=" + id + ", name=" + name + ", description=" + description + ", preMediaScriptId=" + preMediaScriptId + ", ruleId=" + ruleId + ", postMediaScriptId=" + postMediaScriptId + "]";
	}

	/**
	 * @return the id of this Task instance
	 */
	public String getId( )
	{
		return id;
	}

	/**
	 * @return the name of this Task instance
	 */
	public String getName( )
	{
		return name;
	}

	/**
	 * @return the description of this Task instance
	 */
	public String getDescription( )
	{
		return description;
	}

	/**
	 * @return the preMediaScriptId of this Task instance
	 */
	public String getPreMediaScriptId( )
	{
		return preMediaScriptId;
	}

	/**
	 * @return the ruleId of this Task instance
	 */
	public String getRuleId( )
	{
		return ruleId;
	}

	/**
	 * @return the postMediaScriptId of this Task instance
	 */
	public String getPostMediaScriptId( )
	{
		return postMediaScriptId;
	}
}
